package com.ruoyi.library.mapper;

import java.util.List;

import com.ruoyi.library.domain.NexusToolLibrary;
import com.ruoyi.library.domain.vo.NexusToolLibraryVo;

/**
 * 资源库Mapper接口
 *
 * @author Afanda
 * @date 2025-04-29
 */
public interface NexusToolLibraryMapper {
    /**
     * 查询资源库
     *
     * @param id 资源库主键
     * @return 资源库
     */
    public NexusToolLibrary selectNexusToolLibraryById(Long id);

    /**
     * 查询资源库列表
     *
     * @param nexusToolLibrary 资源库
     * @return 资源库集合
     */
    public List<NexusToolLibrary> selectNexusToolLibraryList(NexusToolLibrary nexusToolLibrary);

    /**
     * 新增资源库
     *
     * @param nexusToolLibrary 资源库
     * @return 结果
     */
    public int insertNexusToolLibrary(NexusToolLibrary nexusToolLibrary);

    /**
     * 修改资源库
     *
     * @param nexusToolLibrary 资源库
     * @return 结果
     */
    public int updateNexusToolLibrary(NexusToolLibrary nexusToolLibrary);

    /**
     * 删除资源库
     *
     * @param id 资源库主键
     * @return 结果
     */
    public int deleteNexusToolLibraryById(Long id);

    /**
     * 批量删除资源库
     *
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteNexusToolLibraryByIds(Long[] ids);


    /**
     * 获取资源库以及分类名称集合
     */

    public List<NexusToolLibraryVo> selectNexusToolLibraryVoList(NexusToolLibrary nexusToolLibrary);


    /**
     * 根据分类id获取资源库集合
     */
    public List<NexusToolLibraryVo> selectNexusToolLibraryVoListByCategoryId(Long categoryId);

    /**
     * 根据导航栏id获取数据
     */
    public List<NexusToolLibraryVo> selectNexusToolLibraryVoListByNavId(Long id);


    public List<NexusToolLibrary> deleteNexusToolLibraryByIdsList(Long[] ids);

    /**
     * 搜索资源库
     *
     * @param nexusToolLibrary 资源库
     * @return 资源库VO列表
     */
    List<NexusToolLibraryVo> searchToolLibrary(NexusToolLibrary nexusToolLibrary);
}
